代碼示例
(1)Queue.h
1.頭文件的聲明
#pragma once
//頭文件的聲明
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>
2.隊(duì)列接口的定義
//鏈表接口定義
typedef int QDataType;
typedef struct QueueNode
{
? ? struct QueueNode* next;
? ? QDataType data;
}QNode;
//隊(duì)列接口定義
typedef struct Queue
{
? ? QNode* head;
? ? QNode* tail;
? ? int size;
}Que;
3.初始化和銷毀函數(shù)的聲明
//隊(duì)列初始化
void QueueInit(Que* pq);
//隊(duì)列銷毀
void QueueDestroy(Que* pq);
4.入隊(duì)列和出隊(duì)列函數(shù)的聲明
//插入
void QueuePush(Que* pq, QDataType x);
//刪除
void QueuePop(Que* pq);
5.查找隊(duì)頭、查找隊(duì)尾函數(shù)的聲明
//查找隊(duì)頭元素
QDataType QueueFront(Que* pq);
//查找隊(duì)尾元素
QDataType QueueBack(Que* pq);
6.判空以及長(zhǎng)度計(jì)算函數(shù)的聲明
?
//判斷是否為空
bool QueueEmpty(Que* pq);
//計(jì)算長(zhǎng)度
int QueueSize(Que* pq);